【AlteryxDesigner】ファイル名・シート名の異なる複数Excelの取り込みをやってみた
こんにちは。Alteryxについて絶賛勉強中のMasashiです。
複数のExcelデータをまとめる際に、フォーマットは一緒だがファイル名・シート名が異なることがあります。
その場合、データ入力ツール等を使用しひとつずつ読み込むが可能ですが、手間がかかってしまいます。
本記事では、そのようなお困りごとに役に立つファイル名・シート名の異なる複数Excelをまとめて取り込む方法をご紹介します。
Alteryxの環境と使用データ
【Alteryxの環境】
Alteryx Designer バージョン: 2021.3.3
【使用データ】
今回使用したサンプルは、以下4つのExcel内にそれぞれ異なるシート名が記載されているExcelを使用します。
※データのフォーマットは全シート同じであることを前提としています。
作成したワークフロー
全体のワークフローは以下のようになります。
[①データ入力ツール]→[②フォーミュラツール]→[③動的入力ツール]
では処理について詳細を見ていきましょう。
①データ入力ツール
対象のディレクトリの中にあるExcelファイルとその中にあるシートのリストを取得します。
<設定>
・Excel入力を選択:シート名のリストのみをインポート
・ファイル名を指定する箇所でファイル名を「*.xlsx」に変更
※対象のディレクトリ内にある全Excelファイルを検索することが可能となります。
・ファイル名をフィールドとして出力する:フルパス
②フォーミュラツール
データ入力ツールで取得したファイルパスとシートのリストから、次の動的入力ツールに渡すために以下設定を行います。
<設定>
Replace([FileName],"<List of Sheet Names>",[Sheet Names])
※「FileName」の「<List of Sheet Names>」を「Sheet Names」で置換する式を設定します。
上記によりシート名を含めてファイルパスを取得できます。
フォーミュラツール設定前
フォーミュラツール設定後
③動的入力ツール
フォーミュラツールで作成したファイルパスをもとに、データを読み込みます。
<設定>
・データ入力ソーステンプレート:任意のExcelファイルとシートを指定
・フィールド:FileName
・アクション:ファイルパス全体を変更する
※読み込み対象のファイルのフォーマットが統一されていない場合は読み込まれないファイルが出てきますのでご注意ください。
上記手順により、ファイル名・シート名の異なる複数Excelをまとめて取り込むことが可能となります。
【出力結果】
参考情報
今回使用した[①データ入力ツール]、[②フォーミュラツール]、[③動的入力ツール]に関し、詳細情報を記載いたします。
是非参考にしてください♪
■データ入力ツール
[Alteryx Designer:ツールのご紹介]データ入力ツールについて|DevelopersIO
■フォーミュラツール
[Alteryx Designer:ツールのご紹介]フォーミュラツールについて|DevelopersIO
■動的入力ツール
AlteryxのDynamic Inputツールの話|DevelpersIO
まとめ
今回はファイル名・シート名の異なる複数Excelをまとめて取り込む方法を紹介しました!
なお、本記事を元にマクロと併せることで様々なワークフローで流用することも可能となりますため、是非ご活用いただけますと幸いです。